package cc.rengu.redp.bizimpl.igas.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author 刘玉亮.LL
 * @since 2021-06-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("T_P_CHANNEL_CALL_CFG")
@ApiModel(value="PChannelCallCfg对象", description="")
public class PChannelCallCfg implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "机构标识")
    @TableField("INST_ID")
    private String instId;

    @ApiModelProperty(value = "业务主键")
    @TableField("PRIMARY_KEY")
    private String primaryKey;

    @ApiModelProperty(value = "源系统标识")
    @TableField("MSG_SRC_ID")
    private String msgSrcId;

    @ApiModelProperty(value = "交易渠道标识")
    @TableField("TRANS_CHANNEL_ID")
    private String transChannelId;

    @ApiModelProperty(value = "内部交易码")
    @TableField("TXN_NUM")
    private String txnNum;

    @ApiModelProperty(value = "业务细分")
    @TableField("BIZ_TYPE")
    private String bizType;

    @ApiModelProperty(value = "调用序号")
    @TableField("CALL_INDEX")
    private String callIndex;

    @ApiModelProperty(value = "业务场景")
    @TableField("BIZ_SCENE")
    private String bizScene;

    @ApiModelProperty(value = "业务场景描述")
    @TableField("BIZ_SCENE_DESC")
    private String bizSceneDesc;

    @ApiModelProperty(value = "调用通道标识")
    @TableField("CALL_CHANNEL_ID")
    private String callChannelId;

    @ApiModelProperty(value = "调用通道交易码")
    @TableField("CALL_CHANNEL_TXN")
    private String callChannelTxn;

    @ApiModelProperty(value = "调用通道交易名称")
    @TableField("CALL_CHANNEL_TXN_NAME")
    private String callChannelTxnName;

    @ApiModelProperty(value = "调用通道实现类")
    @TableField("CALL_CHANNEL_IMPL")
    private String callChannelImpl;

    @ApiModelProperty(value = "调用通道实现类描述")
    @TableField("CALL_CHANNEL_IMPL_DESC")
    private String callChannelImplDesc;

    @ApiModelProperty(value = "登记支付订单标识")
    @TableField("REGISTER_PAY_ORDER_FLAG")
    private String registerPayOrderFlag;

    @ApiModelProperty(value = "通道调用模式")
    @TableField("CHANNEL_CALL_MODE")
    private String channelCallMode;

    @ApiModelProperty(value = "异步调用标识")
    @TableField("SYNC_CALL_FLAG")
    private String syncCallFlag;

    @ApiModelProperty(value = "是否等待异步调用结果")
    @TableField("SYNC_WAIT_RESULT")
    private String syncWaitResult;

    @ApiModelProperty(value = "异步查询间隔类型")
    @TableField("SYNC_QUERY_GAP_TYPE")
    private String syncQueryGapType;

    @ApiModelProperty(value = "异步查询次数")
    @TableField("SYNC_QUERY_REPEAT_NUM")
    private Integer syncQueryRepeatNum;

    @ApiModelProperty(value = "异步查询重试时间间隔")
    @TableField("SYNC_QUERY_REPEAT_TIME")
    private Integer syncQueryRepeatTime;

    @ApiModelProperty(value = "异步调用结果处理服务类名")
    @TableField("sync_result_service_name")
    private String syncResultServiceName;

    @ApiModelProperty(value = "调用失败是否影响交易")
    @TableField("IMPACT_TXN_FLAG")
    private String impactTxnFlag;

    @ApiModelProperty(value = "调用成功后续调用序号")
    @TableField("NEXT_CALL_INDEX")
    private String nextCallIndex;

    @ApiModelProperty(value = "调用超时后续调用序号")
    @TableField("TIMEOUT_CALL_INDEX")
    private String timeoutCallIndex;

    @ApiModelProperty(value = "调用失败后续调用序号")
    @TableField("FAIL_CALL_INDEX")
    private String failCallIndex;

    @ApiModelProperty(value = "记录状态")
    @TableField("RECORD_STATUS")
    private String recordStatus;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private String createTime;

    @ApiModelProperty(value = "修改时间")
    @TableField("UPDATE_TIME")
    private String updateTime;

    @ApiModelProperty(value = "备用字段1")
    @TableField("REMARK1")
    private String remark1;

    @ApiModelProperty(value = "备用字段2")
    @TableField("REMARK2")
    private String remark2;

    @ApiModelProperty(value = "备用字段3")
    @TableField("REMARK3")
    private String remark3;


}
